package com.neulogistics.core.substation.api.application.viewmodel;

import com.neulogistics.core.substation.domain.model.enumeration.TaskStatus;
import com.neulogistics.core.substation.domain.model.enumeration.TaskType;
import com.neulogistics.core.substation.domain.model.valueobject.CourierInfo;
import com.neulogistics.core.substation.domain.model.valueobject.CustomInfo;
import com.neulogistics.core.substation.domain.model.valueobject.OrderInfo;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;

@Data
public class TaskOrderViewModel implements Serializable {
    private static final long serialVersionUID = 1L;

    /**
     * 任务单id
     */
    public String taskId;

    /**
     * 任务类型：1:送货收款；2:退货；3:换货
     */
    public Integer taskType;

    /**
     * 任务状态：0:待货；1:待分配；2:待领货；3:待配送；4:已完成
     */
    public Integer taskStatus;

    /**
     * 所属分站id
     */
    public Integer substationId;

    /**
     * 关联订单信息，{订单id、订单项、总额、备注、收货地址、收货人名、收货人电话、发票需求、期望配送时间}
     */
    public OrderInfo orderInfo;

    /**
     * 订单客户信息，{客户id、客户名、客户电话}
     */
    public CustomInfo customInfo;

    /**
     * 配送员{userId，name}
     */
    public CourierInfo courierInfo;

    /**
     * 备注
     */
    public String taskRemark;

    /**
     * 发票号
     */
    public String invoiceId;

    /**
     * 用户满意度
     */
    public Integer customSatisfaction;

    /**
     * 用户评价
     */
    public String customEvaluation;

    /**
     * 创建时间
     */
    public Date createTime;

    /**
     * 完成时间
     */
    public Date completeTime;

    /**
     * 更新时间
     */
    public Date updateTime;
}
